package com.intco.ait.quotation.api.infrastructure.mybatis.entity.menu;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 对应数据库表 ERPDATA.dbo.MaterialCodingProperty 的实体类
 */
@Data
@TableName("MaterialCodingProperty")
public class MaterialCodingProperty implements Serializable {

    private static final long serialVersionUID = 1L;

    // Id int IDENTITY(1,1) NOT NULL 主键，自增
    private Integer id;

    // MaterialCodingClassId int NOT NULL：关联的物料编码类别 Id（外键）
    private Integer materialCodingClassId;

    // PropertyName nvarchar(20) NOT NULL：属性名称
    private String propertyName;

    // ControlType nvarchar(20) NOT NULL：控件类型（如：Textbox/Select）
    private String controlType;

    // ControlWidth int NOT NULL：控件宽度
    private Integer controlWidth;

    // DecimalDigits int NULL：小数位数（适用于数值类型）
    private Integer decimalDigits;

    // Prefix nvarchar(50) NULL：前缀
    private String prefix;

    // Suffix nvarchar(50) NULL：后缀
    private String suffix;

    // SortId int NOT NULL：排序编号
    private Integer sortId;

    // AllowNull bit NOT NULL：是否允许为空（true/false）
    private Boolean allowNull;

    // KeepZero bit DEFAULT 0 NULL：保留零（用于显示/格式化）
    private Boolean keepZero;

    // Enabled bit NOT NULL：是否启用（true/false）
    private Boolean enabled;

    // CreatedBy nvarchar(20) NOT NULL：创建人
    private String createdBy;

    // CreatedOn datetime NOT NULL：创建时间
    private Date createdOn;

    // ModifiedBy nvarchar(20) NULL：修改人
    private String modifiedBy;

    // ModifiedOn datetime NULL：修改时间
    private Date modifiedOn;

}
